53eccb98e3f6dbea004cd1d81eb0576117ae2128,core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializedDescriptorResolver.java,DeserializedDescriptorResolver,resolveClass,#KotlinJvmBinaryClass#,55

Before Change


    public ClassDescriptor resolveClass(@NotNull KotlinJvmBinaryClass kotlinClass) {
        String[] data = readData(kotlinClass, CLASS);
        if (data != null) {
            return components.getClassDeserializer().deserializeClass(
                    kotlinClass.getClassId(), JvmProtoBufUtil.readClassDataFrom(data)
            );
        }
        return null;
    }

After Change


    public ClassDescriptor resolveClass(@NotNull KotlinJvmBinaryClass kotlinClass) {
        String[] data = readData(kotlinClass, CLASS);
        if (data != null) {
            ClassData classData = JvmProtoBufUtil.readClassDataFrom(data);
            KotlinJvmBinarySourceElement sourceElement = new KotlinJvmBinarySourceElement(kotlinClass);
            ClassDataProvider classDataProvider = new ClassDataProvider(classData, sourceElement);
            return components.getClassDeserializer().deserializeClass(kotlinClass.getClassId(), classDataProvider);
        }
        return null;
    }